package com.shycloud.mido.member.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.shycloud.mido.basic.api.entity.BasDictionary;
import com.shycloud.mido.member.api.entity.MsgMain;
import com.shycloud.mido.member.api.vo.MsgMainVO;
import java.util.List;
import org.apache.ibatis.annotations.Param;

/**
 * @author nianhua.jiang
 */
public interface MsgMainMapper extends BaseMapper<MsgMain> {

	/**
	 * 后台管理获取消息列表
	 *
	 * @param type      推送类型：0-系统 1-家校
	 * @param page      分页参数
	 * @param title     标题
	 * @param startTime 开始时间
	 * @param endTime   结束时间
	 * @param rangeType 推送群体：0-全体 1-教师 2-学生
	 * @param orgId     机构ID 总部=0
	 * @param mode      推送方式：0-人工 1-自动
	 * @return IPage<MsgMainVO>
	 * @author nianhua.jiang
	 * @date 2021-06-12 13:05
	 */
	IPage<MsgMainVO> getMsg(@Param("page") Page page,
			@Param("type") String type,
			@Param("title") String title,
			@Param("startTime") String startTime,
			@Param("endTime") String endTime,
			@Param("rangeType") String rangeType,
			@Param("orgId") Integer orgId,
			@Param("mode") String mode);

	/**
	 * APP 获取消息列表
	 *
	 * @param page     分页参数
	 * @param memberId 用户ID
	 * @return IPage<MsgMainVO>
	 * @author nianhua.jiang
	 * @date 2021-06-12 13:05
	 */
	IPage<MsgMainVO> getMsgApp(@Param("page") Page page, @Param("memberId") String memberId, @Param("orgId") Integer orgId);

	List<BasDictionary> getDefaultMsg(@Param("type") String type);

}